//
//  StateMachineModel.h
//  LearnObjectiveC
//
//  Created by client on 2017/9/18.
//  Copyright © 2017年 吴可高. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "StateMachine.h"

extern NSString * const SStateMachineKkeyPath;
@class StateMachineModel;

@protocol SStateMachineModelDelegate <NSObject>

-(void)stateMachineModel:(StateMachineModel*)stateMachineModel changeFromState:(SStateType)currentStateType to:(SStateType)nextStateType;

@end


@interface StateMachineModel : NSObject

@property(nonatomic,assign) SStateType currentType;
@property (nonatomic, weak) id<SStateMachineModelDelegate> delegate;

- (BOOL)performEventWithEventType:(SEventType)eventType;

@end
